#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int main()
//{
//    int sum = 0, y = 0, b = 1;
//    int i = 0, j = 0;
//    scanf("%d %d", &i, &j);
//    y = i < j ? i : j;
//    while (1)
//    {
//     
//        if (i % y == 0 && j%y ==0)
//        {
//            break;
//        }
//        else
//            y--;
//    }
//    while (1)
//    {
//        if ((b * i) % j == 0)
//        {
//            break;
//        }
//        else
//            b++;
//    }
//    printf("%d", y + b * i);
//    return 0;
//}

int main()
{
    long long n = 0;
    long long m = 0;
    scanf("%lld %lld", &n, &m);
    long long a = n;
    long long b = m;
    int t = 0;
    while (t = a % b)
    {
        a = b;
        b = t;
    }

    printf("%lld\n", b + m * n / b);

    return 0;
}

int main()
{
    long long sum = 0, y = 0, b = 1;
    long long i = 0, j = 0;
    scanf("%lld %lld", &i, &j);
    y = i < j ? i : j;
    while (1)
    {
        if (i % y == 0 && j % y == 0)
        {
            break;
        }
        else
            y--;
    }
    b = i > j ? i : j;
    while (1)
    {
        if ((b * i) % j == 0)
        {
            break;
        }
        else
            b++;
    }
    printf("%lld\n", y + b * i);
    return 0;
}